package com.eltsistemas.controller;

import com.eltsistemas.dao.ClienteDao;
import com.eltsistemas.dao.ModeloDao;
import com.eltsistemas.dao.PlacaDao;
import com.eltsistemas.modelo.Cliente;
import com.eltsistemas.modelo.Placa;
import java.util.List;


public class PlacaController {
    
    public boolean adiciona(Placa placa,String cliente, String modelo)
    {
     
        ClienteDao daoCliente = new ClienteDao();
        ModeloDao daoModelo = new ModeloDao();
        
        //Busca o codigo do cliente de acordo com o nome
        
        if(!cliente.isEmpty())
        {
            Cliente c = new Cliente();
            c.setRazao(cliente);
            placa.setCliente(daoCliente.buscaCodigo( c ));
        }
  
        //Busca o codigo da modelo de acordo como o nome
        placa.setModelo(daoModelo.buscaCodigo(modelo));
        
        PlacaDao daoPlaca = new PlacaDao();
            
        if(daoPlaca.buscaCodigo( placa.getPlaca() ) == null)
        {
            new PlacaDao().adiciona(placa);
            return true;
        }

        return false;
    }
    
    public List<Placa> lista()
    {
        PlacaDao daoPlaca = new PlacaDao();
        List<Placa> placaList = daoPlaca.lista();
        return placaList;
    }
    
    public Placa exibeDados(Placa placa)
    {
        PlacaDao daoPlaca = new PlacaDao();
        Placa p = new Placa();
        p = daoPlaca.exibe(placa);
        return p;
    }
    
    public boolean altera(Placa placa,String cliente, String modelo)
    {
     
        ClienteDao daoCliente = new ClienteDao();
        ModeloDao daoModelo = new ModeloDao();
        
        //Busca o codigo do cliente de acordo com o nome
        
        if(!cliente.isEmpty())
        {
            Cliente c = new Cliente();
            c.setRazao(cliente);
            placa.setCliente(daoCliente.buscaCodigo( c ));
        }
  
        //Busca o codigo da modelo de acordo como o nome
        placa.setModelo(daoModelo.buscaCodigo(modelo));
        
        PlacaDao daoPlaca = new PlacaDao();
            
        if(daoPlaca.buscaCodigo( placa.getPlaca() ) == null)
        {
            new PlacaDao().altera(placa);
            return true;
        }

        return false;
    }
    
    public void delete(Placa placa)
    {
        PlacaDao daoPlaca = new PlacaDao();
        daoPlaca.remover(placa);
    }

    public List<Placa> buscaVeiculo(String cliente)
    {
       
        
        ClienteDao daoCliente = new ClienteDao();
        PlacaDao daoPlaca = new PlacaDao();
       
        //Busca o codigo da modelo de acordo como o nome
        Placa placa = new Placa();
        placa.setCliente( daoCliente.buscaCodigo( cliente ) );
        
        List<Placa> placaList = daoPlaca.buscaVeiculo( placa );
        
        return placaList;
    }
    
}
